1. Field of the invention
This invention relates generally to the testing of a multi-user computer system. More specifically, the invention is concerned with a system and method for defining one or more testing scenarios and for driving and tracking the execution of the testing scenarios.
2. Related Art
Multi-user computer systems are used throughout the business and scientific communities to perform a myriad of functions. For example, in the business community, computer systems are used to perform manufacturing automation, inventory management, order processing and tracking, financial accounting, records management, word processing, etcetera. These functions may be performed company wide on a single networked computer system which includes many workstations. The size and complexity of such a networked computer system may range from a global structure which includes workstations situated at remote sites around the world to a local network which includes several workstations located at a single corporate site.
An example of one such computer system is SAP (System, Applications and Products in Data Processing). SAP is a business software package consisting of an R/2 Basis System and one or more specialized applications modules (e.g., financial accounting, order entry, etc.). The R/2 Basis System is a platform on which the various applications modules run. The SAP system is available from SAP GmBh, Max Planck Strasse 8, D-6909 Walldoff, Germany.
The SAP system operates in conjunction with a multi-user computer system. The term "multi-user" is used herein to mean a computer system which can simultaneously be used by a plurality of users. A "physical workstation" is a "dummy" terminal, a personal computer or any other I/O (input/output) device which allows a user to communicate with the computer system. A "physical workstation" is also referred to as a "terminal". As used herein, the term "logical workstation", or simply, "workstation" shall mean a functional location which includes one or more physical workstations or terminals. For example, an accounting department which includes five terminals may be considered a single logical workstation. A logical workstation may also be termed a "test station". The workstations are linked to a central computer (a multi-user computer) containing the SAP system.
In a global business arrangement, for example, a multi-user computer system may be used to receive a product order at a workstation in Paris. The order may result in a request for shipment appearing on a workstation in a manufacturing plant in Chicago where the product would be produced and shipped. Billing (accounts receivable) processing may occur in London on another workstation, while company wide financial analysis could take place in New York on yet another workstation. Each of these business functions would be carried out using various modules running within the SAP System.
Because businesses rely extensively on computer systems, such as SAP, it is crucial that the integrity and reliability of these systems be thoroughly tested prior to total commercial reliance being placed thereon. Testing of these complex multi-user systems, however, is arduous and complicated due to their immense size, complexity, and distributed nature. For example, if it is desired to test the functionality of the order entry portion of the SAP system, then it is preferred to recruit the assistance of a user of that portion of SAP. Similarly, if it is desired to test the functionality of the cost accounting portion of the SAP system, then it is preferred to recruit the assistance of a user of that portion of SAP. However, the person desiring to perform the test may be located in the United States while the order entry user is located at a plant in Europe and the accounting user is located at a plant in Canada. This makes the communications and coordination between these persons difficult during testing.
This problem is exacerbated by the fact that the multi-user computer systems require frequent modification/revision to meet the changing needs of a business. For example, SAP provides several means (tools and features) for customizing the system and for designing customer specific application software and subsystems. These include:
ABAP/4 or Advanced Business Application Programming (SAP's fourth generation programming language used to create transaction programs, utility programs, database queries, etc.); PA1 Screen Painter (used to design the online screen layout); PA1 Dynpro or Dynamic Program (the online screen and the processing unique thereto); PA1 Data Dictionary (a central repository for data definitions and meta-data, also used to define fields within a Dynpro); PA1 Database (holds master file data and transaction data); and PA1 Table (within SAP, tables are used for process control, system and screen modification, logic checks and validation of data entries, among other things, the benefits of Table include the ability to customize SAP without the need to programmatically change the system, tables are often created in conjunction with customer created applications).
Whenever the multi-user computer system is modified, testing is required. As discussed above, however, testing such a large system is arduous.